#pragma once

#include <jni.h>
#include "jstr.h"
#include "jtype.h"

namespace gtl
{

namespace jni
{

class jstrs
{
public:
	jstrs(JNIEnv* env, const char** strs, int count)
	{
		m_env = env;
		m_jstrs = 0;
		if(strs == 0 || count == 0)
			return;

		jclass jcls = m_env->FindClass("java/lang/String");
		m_jstrs = (jstringArray)m_env->NewObjectArray(count, jcls, 0);

		for(int i = 0; i < count; ++i)
		{
			jstr jss(m_env, strs[i], false);
			m_env->SetObjectArrayElement(m_jstrs, i, jss);
		}
	}

	~jstrs()
	{
	}

public:
	jstringArray strs()
	{
		return m_jstrs;
	}

	operator jstringArray()
	{
		return m_jstrs;
	}

protected:
	JNIEnv* m_env;
	jstringArray m_jstrs;
};

} // end of namespace jni

} // end of namespace gtl
